# -*- coding:utf-8 -*-
"""
Author：Administrator
Date:2022年01月16日
"""
import requests
from lxml import etree
import os
import re

if not os.path.exists('./中秋PPT'):
	os.mkdir('./中秋PPT')

网址='https://www.1ppt.com/moban/zhongqiujie/'
UA伪装={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36"}
响应数据=requests.get(url=网址,headers=UA伪装)
响应数据.encoding='gbk'
解析=etree.HTML(响应数据.text)
末页=解析.xpath('//a[text()="末页"]//@href')
if 末页!=[]:
	正则=re.search("(\d+).html",末页[0])
	页数=正则.group(1)
else:
	页数=1

for i in range(1,int(页数)+1):
	if i == 1:
		网址='https://www.1ppt.com/moban/zhongqiujie/'
	else:
		网址='https://www.1ppt.com/moban/zhongqiujie/'+"ppt_zhongqiujie_"+str(i)+".html"

	响应数据 = requests.get(url=网址, headers=UA伪装)
	响应数据.encoding = 'gbk'
	解析 = etree.HTML(响应数据.text)
	文件链接 = 解析.xpath('//ul[@class="tplist"]/li/a/@href')
	文件链接 = ['https://www.1ppt.com' + 文件链接 for 文件链接 in 文件链接]
	文件名称 = 解析.xpath('//ul[@class="tplist"]//@alt')

	字典 = dict(zip(文件名称, 文件链接))

	for 文件名称, 文件链接 in 字典.items():
		响应数据 = requests.get(url=文件链接, headers=UA伪装).text
		解析 = etree.HTML(响应数据)
		中间地址 = 解析.xpath("//ul[@class='downurllist']/li/a/@href")
		中间地址 = 'https://www.1ppt.com' + 中间地址[0]
		响应数据 = requests.get(url=中间地址, headers=UA伪装).text
		解析 = etree.HTML(响应数据)
		下载地址 = 解析.xpath("//li[@class='c1']//@href")
		文件数据 = requests.get(url=下载地址[0], headers=UA伪装).content
		后缀 = 下载地址[0].split('.')[-1]
		文件路径 = './中秋PPT/' + 文件名称 + '.' + 后缀
		with open(文件路径, 'wb') as f:
			f.write(文件数据)
			print(文件名称 + '下载成功!')

print('over!')